package com.zrwl.poscloud.xo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zrwl.poscloud.base.enums.EBusiType;
import com.zrwl.poscloud.commons.validator.annotion.FileName;
import com.zrwl.poscloud.commons.vo.BaseVO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 账户业务表 VO类
 *
 * @author 刘思童 AutoGenerate
 * @date 2021-10-20
 */
@Data
public class EmployeeAccountRecordVO extends BaseVO<EmployeeAccountRecordVO> {
    private static final long serialVersionUID = 1L;
    private String code;
    private EBusiType busiType;//补贴圈存102108，副账户圈存10210802，补贴圈存10210801
    private int businessType;


    private String companyUid;
    private String adminUid;
    private String adminName;
    @FileName(name = "uid")
    private String employeeUid;
    @FileName(name = "companyCode")
    private String companyCode;
    @FileName(name = "name")
    private String employeeName;
    @FileName(name = "employeeCode")
    private String employeeCode;
    @FileName(name = "certCode")
    private String employeeCertCode;
    private String toEmployeeUid;
    private String toEmployeeName;

    private String accountUid;
    private double accountBalance;//账户当前余额返显
    private int amtType;
    private double cashAmt;
    private double cashGiftAmt;
    private int cashGiftType;
    private double beforeAmt;
    double balanceAmt;//变动前余额账户
    double subsidyAmt;//变动前补贴账户
    double secondAmt;//变动前次账户
    int balanceCount;//变动前副账户

    private String summary;
    private double rechargeAmt;//充值金额
    private double balanceFeeAmt;
    private double giftAmt;
    private double rchargeGiftAmt;
    private double onLineAmt;//在线
    private double offLineAmt;//现金
    private double subsidyBalanceAmt;//存入补贴金额
    private double secondBalanceAmt;//存入副账户金额
    private double transferAmt;//转账金额
    private int giftAccountType;
    private int accountType;
    private int accountStatus;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date accountValidDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String beginTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String endTime;
    private boolean isWriteCard;

    //持卡人信息
    @FileName(name = "payLevel")
    private int employeePayLevel;
    @FileName(name = "sex")
    private int employeeSex;
    @FileName(name = "labelDataUid")
    private String employeeLabelDataUid;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @FileName(name = "birthday")
    private Date employeeBirthday;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @FileName(name = "enterDate")
    private Date employeeEnterDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @FileName(name = "leaveDate")
    private Date employeeLeaveDate;
    @FileName(name = "isFacePayment")
    private int employeeIsFacePayment;
    @FileName(name = "dailyLimit")
    private double employeeDailyLimit;
    @FileName(name = "monthlyLimit")
    private double employeeMonthlyLimit;
    @FileName(name = "defaultPwd")
    private String employeePwd;
    @FileName(name = "status")
    private int employeeStatus;
    @FileName(name = "mobile")
    private String employeeMobile;
    @FileName(name = "remark")
    private String employeeRemark;
    private int employeeSourceType;
    private String employeeSourceUid;
    private String employeeSourceName;
    private List<EmployeeAccountRecordVO> employeeAccountRecordVOS;

    //收款人的姓名
    private String getAccountName;
    private String firstUid;

    private String payWithdrawUid;
    private int[] businessTypeArray;
    private String deptName;


    private int handleType;
    private String handleAdminUid;
    private String handleAdminName;
    private String userUid;
    private String userName;
    private String nickName;
    private double feeAmt;
    private int feeAmtType;
    private int giftCount;
    private String mobile;
    private Integer payLevel;
}
